
namespace JTZY.Model.Financial.Dto
{
    /// <summary>
    /// 提现记录查询对象
    /// </summary>
    public class CorecmsusertocashQueryDto : PagerInfo 
    {
        public DateTime? BeginCreateTime { get; set; }
        public DateTime? EndCreateTime { get; set; }
        public long UserId { get; set; }
    }

    /// <summary>
    /// 提现记录输入输出对象
    /// </summary>
    public class CorecmsusertocashDto
    {
        [Required(ErrorMessage = "id不能为空")]
        [ExcelColumn(Name = "id")]
        [ExcelColumnName("id")]
        public int Id { get; set; }

        [Required(ErrorMessage = "用户ID不能为空")]
        [ExcelColumn(Name = "用户ID")]
        [ExcelColumnName("用户ID")]
        public long UserId { get; set; }

        [ExcelColumn(Name = "联系人")]
        [ExcelColumnName("联系人")]
        public string UserName { get; set; }

        [ExcelColumn(Name = "联系电话")]
        [ExcelColumnName("联系电话")]
        public string UserMobile { get; set; }

        [Required(ErrorMessage = "提现金额不能为空")]
        [ExcelColumn(Name = "提现金额")]
        [ExcelColumnName("提现金额")]
        public decimal Money { get; set; }

        [ExcelColumn(Name = "当前余额")]
        [ExcelColumnName("当前余额")]
        public decimal Balance { get; set; }

        [ExcelColumn(Name = "银行名称")]
        [ExcelColumnName("银行名称")]
        public string BankName { get; set; }

        [ExcelColumn(Name = "银行缩写")]
        [ExcelColumnName("银行缩写")]
        public string BankCode { get; set; }

        [ExcelColumn(Name = "账号地区ID")]
        [ExcelColumnName("账号地区ID")]
        public int? BankAreaId { get; set; }

        [ExcelColumn(Ignore =true)]
        public string BankAreaAddr { get; set; }

        [ExcelColumn(Name = "开户行")]
        [ExcelColumnName("开户行")]
        public string AccountBank { get; set; }

        [ExcelColumn(Name = "账户名")]
        [ExcelColumnName("账户名")]
        public string AccountName { get; set; }

        [ExcelColumn(Name = "卡号")]
        [ExcelColumnName("卡号")]
        public string CardNumber { get; set; }

        [Required(ErrorMessage = "提现服务费不能为空")]
        [ExcelColumn(Name = "提现服务费")]
        [ExcelColumnName("提现服务费")]
        public decimal Withdrawals { get; set; }

        [Required(ErrorMessage = "提现状态不能为空")]
        [ExcelColumn(Name = "提现状态")]
        [ExcelColumnName("提现状态")]
        public int Status { get; set; }

        [ExcelColumn(Name = "提现时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)]
        [ExcelColumnName("提现时间")]
        public DateTime? CreateTime { get; set; }

        [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)]
        [ExcelColumnName("更新时间")]
        public DateTime? UpdateTime { get; set; }

        [ExcelColumn(Name = "提现方式")]
        [ExcelColumnName("提现方式")]
        public int Type { get; set; }

        [ExcelColumn(Name = "反馈结果")]
        [ExcelColumnName("反馈结果")]
        public string Message { get; set; }

        [ExcelColumn(Name = "营业执照")]
        [ExcelColumnName("营业执照")]
        public string AccountLicense { get; set; }

        [ExcelColumn(Name = "备注")]
        [ExcelColumnName("备注")]
        public string Memo { get; set; }

        [ExcelColumn(Name = "打款时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)]
        [ExcelColumnName("打款时间")]
        public DateTime? PaymentTime { get; set; }

        [ExcelColumn(Name = "打款凭证")]
        [ExcelColumnName("打款凭证")]
        public string PaymentVoucher { get; set; }



        [ExcelColumn(Name = "提现状态")]
        public string StatusLabel { get {
                //{ dictLabel: '待审核',dictValue: '1'},
                //{ dictLabel: '提现成功',dictValue: '2'},
                //{ dictLabel: '提现失败',dictValue: '3'},
                //{ dictLabel: '提现异常',dictValue: '4'}
                var label = "";
                switch(Status)
                {
                    case 1:label = "待审核";break;
                    case 2: label = "提现成功"; break;
                    case 3: label = "提现失败"; break;
                    case 4: label = "提现异常"; break;
                }
                return label;
            } }
    }
}